
/* CodeMirror */

.CodeMirror {
	/* Set height, width, borders, and global font properties here */
	font-family: monospace;
	height: 300px;
	color: black;
	direction: ltr;
}

/* PADDING */

.CodeMirror-lines {
	padding: 4px 0; /* Vertical padding around content */
}
.CodeMirror pre {
	padding: 0 4px; /* Horizontal padding of content */
}

.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
	background-color: white; /* The little square between H and V scrollbars */
}

/* GUTTER */

.CodeMirror-gutters {
	border-right: 1px solid #ddd;
	background-color: #f7f7f7;
	white-space: nowrap;
}
.CodeMirror-linenumbers {}
.CodeMirror-linenumber {
	padding: 0 3px 0 5px;
	min-width: 20px;
	text-align: right;
	color: #999;
	white-space: nowrap;
}

.CodeMirror-guttermarker { color: black; }
.CodeMirror-guttermarker-subtle { color: #999; }

/* CURSOR */

.CodeMirror-cursor {
	border-left: 1px solid black;
	border-right: none;
	width: 0;
}
/* Shown when moving in bi-directional text */
.CodeMirror div.CodeMirror-secondarycursor {
	border-left: 1px solid silver;
}
.cm-fat-cursor .CodeMirror-cursor {
	width: auto;
	border: 0 !important;
	background: #7e7;
}
.cm-fat-cursor div.CodeMirror-cursors {
	z-index: 1;
}
.cm-fat-cursor-mark {
	background-color: rgba(20, 255, 20, 0.5);
	animation: blink 1.06s steps(1) infinite;
}
.cm-animate-fat-cursor {
	width: auto;
	border: 0;
	animation: blink 1.06s steps(1) infinite;
	background-color: #7e7;
}
@keyframes blink {
	0% {}
	50% { background-color: transparent; }
	100% {}
}

/* Can style cursor different in overwrite (non-insert) mode */
.CodeMirror-overwrite .CodeMirror-cursor {}

.cm-tab { display: inline-block; text-decoration: inherit; }

.CodeMirror-rulers {
	position: absolute;
	left: 0; right: 0; top: -50px; bottom: -20px;
	overflow: hidden;
}
.CodeMirror-ruler {
	border-left: 1px solid #ccc;
	top: 0; bottom: 0;
	position: absolute;
}

/* DEFAULT THEME */

.cm-s-default .cm-header {color: blue;}
.cm-s-default .cm-quote {color: #090;}
.cm-negative {color: #d44;}
.cm-positive {color: #292;}
.cm-header, .cm-strong {font-weight: bold;}
.cm-em {font-style: italic;}
.cm-link {text-decoration: underline;}
.cm-strikethrough {text-decoration: line-through;}

.cm-s-default .cm-keyword {color: #708;}
.cm-s-default .cm-atom {color: #219;}
.cm-s-default .cm-number {color: #164;}
.cm-s-default .cm-def {color: #00f;}
.cm-s-default .cm-variable,
.cm-s-default .cm-punctuation,
.cm-s-default .cm-property,
.cm-s-default .cm-operator {}
.cm-s-default .cm-variable-2 {color: #05a;}
.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}
.cm-s-default .cm-comment {color: #a50;}
.cm-s-default .cm-string {color: #a11;}
.cm-s-default .cm-string-2 {color: #f50;}
.cm-s-default .cm-meta {color: #555;}
.cm-s-default .cm-qualifier {color: #555;}
.cm-s-default .cm-builtin {color: #30a;}
.cm-s-default .cm-bracket {color: #997;}
.cm-s-default .cm-tag {color: #170;}
.cm-s-default .cm-attribute {color: #00c;}
.cm-s-default .cm-hr {color: #999;}
.cm-s-default .cm-link {color: #00c;}

.cm-s-default .cm-error {color: #f00;}
.cm-invalidchar {color: #f00;}

.CodeMirror-composing { border-bottom: 2px solid; }

/* Default styles for common addons */

div.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}
div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}
.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }
.CodeMirror-activeline-background {background: #e8f2ff;}

/* STOP */

/* The rest of this file contains styles related to the mechanics of
   the editor. You probably shouldn't touch them. */

.CodeMirror {
	position: relative;
	overflow: hidden;
	background: white;
}

.CodeMirror-scroll {
	overflow: scroll !important; /* Things will break if this is overridden */
	/* 30px is the magic margin used to hide the element's real scrollbars */
	/* See overflow: hidden in .CodeMirror */
	margin-bottom: -30px; margin-right: -30px;
	padding-bottom: 30px;
	height: 100%;
	outline: none; /* Prevent dragging from highlighting the element */
	position: relative;
}
.CodeMirror-sizer {
	position: relative;
	border-right: 30px solid transparent;
}

/* The fake, visible scrollbars. Used to force redraw during scrolling
   before actual scrolling happens, thus preventing shaking and
   flickering artifacts. */
.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
	position: absolute;
	z-index: 6;
	display: none;
}
.CodeMirror-vscrollbar {
	right: 0; top: 0;
	overflow-x: hidden;
	overflow-y: scroll;
}
.CodeMirror-hscrollbar {
	bottom: 0; left: 0;
	overflow-y: hidden;
	overflow-x: scroll;
}
.CodeMirror-scrollbar-filler {
	right: 0; bottom: 0;
}
.CodeMirror-gutter-filler {
	left: 0; bottom: 0;
}

.CodeMirror-gutters {
	position: absolute; left: 0; top: 0;
	min-height: 100%;
	z-index: 3;
}
.CodeMirror-gutter {
	white-space: normal;
	height: 100%;
	display: inline-block;
	vertical-align: top;
	margin-bottom: -30px;
}
.CodeMirror-gutter-wrapper {
	position: absolute;
	z-index: 4;
	background: none !important;
	border: none !important;
}
.CodeMirror-gutter-background {
	position: absolute;
	top: 0; bottom: 0;
	z-index: 4;
}
.CodeMirror-gutter-elt {
	position: absolute;
	cursor: default;
	z-index: 4;
}
.CodeMirror-gutter-wrapper ::selection { background-color: transparent }

.CodeMirror-lines {
	cursor: text;
	min-height: 1px; /* prevents collapsing before first draw */
}
.CodeMirror pre {
	/* Reset some styles that the rest of the page might have set */
	border-radius: 0;
	border-width: 0;
	background: transparent;
	font-family: inherit;
	font-size: inherit;
	margin: 0;
	white-space: pre;
	word-wrap: normal;
	line-height: inherit;
	color: inherit;
	z-index: 2;
	position: relative;
	overflow: visible;
	font-variant-ligatures: contextual;
}
.CodeMirror-wrap pre {
	word-wrap: break-word;
	white-space: pre-wrap;
	word-break: normal;
}

.CodeMirror-linebackground {
	position: absolute;
	left: 0; right: 0; top: 0; bottom: 0;
	z-index: 0;
}

.CodeMirror-linewidget {
	position: relative;
	z-index: 2;
	padding: 0.1px; /* Force widget margins to stay inside of the container */
}

.CodeMirror-widget {}

.CodeMirror-rtl pre { direction: rtl; }

.CodeMirror-code {
	outline: none;
}

/* Force content-box sizing for the elements where we expect it */
.CodeMirror-scroll,
.CodeMirror-sizer,
.CodeMirror-gutter,
.CodeMirror-gutters,
.CodeMirror-linenumber {
	box-sizing: content-box;
}

.CodeMirror-measure {
	position: absolute;
	width: 100%;
	height: 0;
	overflow: hidden;
	visibility: hidden;
}

.CodeMirror-cursor {
	position: absolute;
	pointer-events: none;
}
.CodeMirror-measure pre { position: static; }

div.CodeMirror-cursors {
	visibility: hidden;
	position: relative;
	z-index: 3;
}
div.CodeMirror-dragcursors {
	visibility: visible;
}

.CodeMirror-focused div.CodeMirror-cursors {
	visibility: visible;
}

.CodeMirror-selected { background: #d9d9d9; }
.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }
.CodeMirror-crosshair { cursor: crosshair; }
.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }

.cm-searching {
	background-color: #ffa;
	background-color: rgba(255, 255, 0, .4);
}

/* Used to force a border model for a node */
.cm-force-border { padding-right: .1px; }

@media print {
	/* Hide the cursor when printing */
	.CodeMirror div.CodeMirror-cursors {
		visibility: hidden;
	}
}

/* See issue #2901 */
.cm-tab-wrap-hack:after { content: ''; }

/* Help users use markselection to safely style text background */
span.CodeMirror-selectedtext { background: none; }

/* icons */
@font-face {font-family: "iconfont";
	src: url('font/iconfont.eot?t=1525792553322'); /* IE9*/
	src: url('font/iconfont.eot?t=1525792553322#iefix') format('embedded-opentype'), /* IE6-IE8 */
	url('data:application/x-font-woff;charset=utf-8;base64,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') format('woff'),
	url('font/iconfont.ttf?t=1525792553322') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
	url('font/iconfont.svg?t=1525792553322#iconfont') format('svg'); /* iOS 4.1- */
}

[class*=ke-icon-] {
	font-family:"iconfont" !important;
	font-size:20px;
	font-style:normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	width: 20px;
	height: 20px;
	line-height: 20px;

}

.ke-icon-justifycenter:before { content: "\e610"; }

.ke-icon-div:before { content: "\e65a"; }

.ke-icon-audio:before { content: "\e638"; }

.ke-icon-baidumap:before { content: "\e641"; }

.ke-icon-map:before { content: "\e644"; }

.ke-icon-about:before { content: "\e61e"; }

.ke-icon-outdent:before { content: "\e66b"; }

.ke-icon-formatblock:before { content: "\e666"; }

.ke-icon-underline:before { content: "\e648"; }

.ke-icon-removeformat:before { content: "\e6b8"; }

.ke-icon-fontname:before { content: "\e625"; }

.ke-icon-plainpaste:before { content: "\e6ef"; }

.ke-icon-bold:before { content: "\e6a2"; }

.ke-icon-checked:before { content: "\e613"; }

.ke-icon-selectall:before { content: "\e619"; }

.ke-icon-italic:before { content: "\e611"; }

.ke-icon-flash:before { content: "\e68f"; }

.ke-icon-table:before { content: "\e701"; }

.ke-icon-lineheight:before { content: "\e605"; }

.ke-icon-cut:before { content: "\e612"; }

.ke-icon-indent:before { content: "\e61c"; }

.ke-icon-clearhtml:before { content: "\e656"; }

.ke-icon-hilitecolor:before { content: "\e81f"; }

.ke-icon-code:before { content: "\e8ad"; }

.ke-icon-media:before { content: "\e741"; }

.ke-icon-forecolor:before { content: "\e639"; }

.ke-icon-wordpaste:before { content: "\e66c"; }

.ke-icon-subscript:before { content: "\e671"; }

.ke-icon-superscript:before { content: "\e672"; }

.ke-icon-strikethrough:before { content: "\e609"; }

.ke-icon-date:before { content: "\e633"; }

.ke-icon-redo:before { content: "\e64f"; }

.ke-icon-undo:before { content: "\e650"; }

.ke-icon-fullscreen:before { content: "\e62c"; }

.ke-icon-print:before { content: "\e60e"; }

.ke-icon-image:before { content: "\e6db"; }

.ke-icon-justifyleft:before { content: "\e60a"; }

.ke-icon-justifyright:before { content: "\e60b"; }

.ke-icon-template:before { content: "\e62a"; }

.ke-icon-search:before { content: "\e71c"; }

.ke-icon-justifyfull:before { content: "\e617"; }

.ke-icon-link:before { content: "\e690"; }

.ke-icon-insertfile:before { content: "\e647"; }

.ke-icon-multiupload:before { content: "\e634"; }

.ke-icon-anchor:before { content: "\e63b"; }

.ke-icon-copy:before { content: "\e643"; }

.ke-icon-time:before { content: "\e60d"; }

.ke-icon-insertorderedlist:before { content: "\e603"; }

.ke-icon-fontsize:before { content: "\e6c7"; }

.ke-icon-hr:before { content: "\e64a"; }

.ke-icon-emoticons:before { content: "\e63c"; }

.ke-icon-quickformat:before { content: "\e60c"; }

.ke-icon-paste:before { content: "\e655"; }

.ke-icon-pagebreak:before { content: "\e91b"; }

.ke-icon-source:before { content: "\e60f"; }

.ke-icon-preview:before { content: "\e62d"; }

.ke-icon-new:before { content: "\e606"; }

.ke-icon-unlink:before { content: "\e608"; }

.ke-icon-video:before { content: "\e9f1"; }

.ke-icon-insertunorderedlist:before { content: "\e63a"; }

.ke-icon-specialchar:before { content: "\e665"; }

.ke-icon-formula:before { content: "\e7bc"; }


/* common */
.ke-inline-block {
	display: inline-block;
	vertical-align: middle;
	
	
}
.ke-clearfix {
	
	&:after {
		content: ".";
		display: block;
		clear: both;
		font-size: 0;
		height: 0;
		line-height: 0;
		visibility: hidden;
	}
}
.ke-shadow {
	background-color: #fff;
}
.ke-menu a,
.ke-menu a:hover,
.ke-dialog a,
.ke-dialog a:hover {
	color: #337fe5;
	text-decoration: none;
}
/* container */
.ke-container {
	display: block;
	border: 1px solid #ddd;
	background-color: #fff;
	overflow: hidden;
	margin: 0;
	padding: 0;
}
/* toolbar */
.ke-toolbar {
	border-bottom: 1px solid #ddd;
	background-color: #f8f8f8;
	padding: 10px;
	text-align: left;
	overflow: hidden;
	
	.ke-outline {
		margin: 5px;
		font-size: 0;
		line-height: 0;
		overflow: hidden;
		cursor: pointer;
		display: block;
		float: left;
	}
	.ke-on {
		color: #000;
		.ke-toolbar-icon {
			color: #000;
		}
	}
	.ke-selected {
		color: #000;
	}
	.ke-disabled {
		cursor: default;
	}
	.ke-separator {
		height: 20px;
		margin: 5px;
		border-left: 1px solid #ddd;
		border-top: 0;
		border-bottom: 0;
		width: 0;
		font-size: 0;
		line-height: 0;
		overflow: hidden;
		display: block;
		float: left;
	}
	.ke-hr {
		overflow: hidden;
		height: 10px;
		clear: both;
	}
}
.ke-toolbar-icon {
	overflow: hidden;
	display: block;
	color: #666;
}
.ke-toolbar-icon-url {
}
/* edit */
.ke-edit {
	padding: 0;
}
.ke-edit-iframe,
.ke-edit-textarea {
	border: 0;
	margin: 0;
	padding: 0;
	overflow: auto;
}
.ke-edit-textarea {
	font-size: 1.4px;
	font-family: Roboto, system-ui,PingFang SC,STHeiti,sans-serif;
	color: #000;
	overflow: auto;
	resize: none;
	&:focus {
		outline: none;
	}
}
/* statusbar */
.ke-statusbar {
	position: relative;
	background-color: #f8f8f8;
	border-top: 1px solid #cccccc;
	overflow: hidden;
}
.ke-statusbar-content {
	padding: 5px 10px;
	display: block;
	font-size: 12px;
	float: none;
	span {
		color: #666;
		margin-right: 10px;
	}
	a {
		color: #5187e2;
		text-decoration: none;
	}
}
.ke-statusbar-left {
	float: left;
	text-align: left;
}
.ke-statusbar-right {
	float: right;
	text-align: right;
}
.ke-statusbar-right-icon {
	position: absolute;
	right: 2px;
	bottom: 2px;
	cursor: se-resize;
	width: 0;
	height: 0;
	overflow: hidden;
	border-width: 10px 10px 0 0;
	border-color: transparent #bcbcbc transparent transparent;
	border-style: dashed solid dashed dashed;
	font-size: 0;
	vertical-align: bottom;
	margin-top: 6px;
	margin-bottom: 2px;
}
/* menu */
.ke-menu {
	background-color: #fff;
	color: #333;
	font-family: Roboto, system-ui,PingFang SC,STHeiti,sans-serif;
	font-size: 14px;
	text-align: left;
	overflow: hidden;
	border: 1px solid #ddd;
}
.ke-menu-item {
	background-color: #fff;
	color: #222222;
	height: 30px;
	line-height: 1.8;
	overflow: hidden;
	cursor: pointer;
}
.ke-menu-item-on {
	background-color: #4087e9;
	color: #fff;
}
.ke-menu-item-left {
	width: 27px;
	text-align: center;
	overflow: hidden;
}
.ke-menu-item-center {
	width: 0;
	height: 30px;
	border-left: 1px solid #e3e3e3;
	border-right: 1px solid #ffffff;
	border-top: 0;
	border-bottom: 0;
}
.ke-menu-item-center-on {
	border-left: 1px solid #e9eff6;
	border-right: 1px solid #e9eff6;
}
.ke-menu-item-right {
	border: 0;
	padding: 0 0 0 5px;
	line-height: 24px;
	text-align: left;
	overflow: hidden;
}
.ke-menu-separator {
	margin: 2px 0;
	height: 0;
	overflow: hidden;
	border-top: 1px solid #cccccc;
	border-bottom: 1px solid #ffffff;
	border-left: 0;
	border-right: 0;
}
.ke-content {
	font-size: 14px;
	line-height: 1.6;
}
/* colorpicker */
.ke-colorpicker {
	box-shadow: 0 0 5px #ccc;
	background: #fff;
	color: #222222;
	padding: 2px;
}
.ke-colorpicker-table {
	border: 0;
	margin: 0;
	padding: 0;
	border-collapse: separate;
}
.ke-colorpicker-cell {
	font-size: 0;
	line-height: 0;
	border: 1px solid #fff;
	cursor: pointer;
	margin: 5px;
	padding: 0;
}
.ke-colorpicker-cell-top {
	font-family: "sans serif",tahoma,verdana,helvetica;
	font-size: 14px;
	line-height: 24px;
	border: 1px solid #f8f8f8;
	cursor: pointer;
	margin: 0;
	padding: 0;
	text-align: center;
}
.ke-colorpicker-cell-on {
	border: 1px solid #5690d2;
}
.ke-colorpicker-cell-selected {
	border: 1px solid #2446ab;
}
.ke-colorpicker-cell-color {
	width: 20px;
	height: 20px;
	margin: 2px;
	padding: 0;
	border: 0;
}
/* dialog */
.ke-dialog {
	position: fixed;
	margin: 0;
	padding: 0;
	* {
		box-sizing: border-box;
	}
	.ke-header {
		width: 100%;
		margin-bottom: 10px;
		font-size: 14px;
		line-height: 30px;
	}
}
.ke-dialog-content {
	background-color: #fff;
	width: 100%;
	height: 100%;
	color: #333;
	border: 1px solid #ddd;
}
.ke-dialog-shadow {
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	box-shadow: 0 5px 15px rgba(0,0,0,0.08);
	background-color: #f8f8f8;
}
.ke-dialog-header {
	border: 0;
	margin: 0;
	padding: 0 15px;
	background: #fff;
	border-bottom: 1px solid #ddd;
	height: 45px;
	font: 16px/45px "sans serif",tahoma,verdana,helvetica;
	text-align: left;
	color: #222;
	cursor: move;
}
.ke-dialog-icon-close {
	display: block;
	width: 20px;
	height: 20px;
	position: absolute;
	right: 10px;
	top: 0px;
	cursor: pointer;
	text-align: center;
	&:after {
		content: "\00d7";
	}
}
.ke-dialog-body {
	text-align: left;
	overflow: hidden;
	width: 100%;
	font-size: 14px;
	img {
		vertical-align: middle;
	}
}


.ke-form {
	margin: 0;
	padding: 20px;
	font-size: 14px;
	* {
		box-sizing: border-box;
	}
}

.ke-form-group {
	margin-bottom: 10px;
}

.ke-form-label {
	width: 70px;
	float: left;
	margin-top: 5px;

}

.ke-form-controls {
	margin-left: 80px;
	line-height: 30px;
	> * {
		margin-right: 5px;
		&:last-child {
			margin-right: 0;
		}
	}
}

.ke-form-help {
	border: 1px solid #92bdec;
	background: rgb(226, 246, 255);
	margin-bottom: 20px;
	padding: 5px;
	color: #1b7dc5;
}

.ke-textarea {
	border: 1px solid #e5e5e5;
	background: #fff;
	overflow-x: hidden;
	resize:none;
}

.ke-input {
	box-sizing: border-box;
	border: 1px solid #e5e5e5;
	background: #fff;
	height: 30px;
	padding: 5px 10px;
	max-width: 100%;
	width: 100%;
	font-size: 14px;
}
.ke-select {
	border-radius: 0;
	display: block;
	border: 1px solid #e5e5e5;
	background: #fff;
	height: 30px;
	padding: 5px 10px;
	max-width: 100%;
	width: 100%;
	font-size: 14px;
	padding-right: 15px;
}
.ke-checkbox {
	vertical-align: middle;
	margin-top: 8px;
}

.ke-flex {
	display: flex;
	white-space:nowrap;
}

.ke-flex-auto {
	flex: 1;

}

.ke-margin-right {
	margin-right: 5px;
}

.ke-margin-left {
	margin-left: 5px;
}
.ke-margin-top {
	margin-top: 5px;
}

.ke-dialog-body textarea:focus,
.ke-dialog-body input:focus,
.ke-dialog-body select:focus {
	outline: none;
}
.ke-dialog-loading {
	position: absolute;
	top: 0;
	left: 1px;
	z-index: 1;
	text-align: center;
}
.ke-dialog-loading-content {
	background: url("../common/loading.gif") no-repeat;
	color: #666;
	font-size: 14px;
	font-weight: bold;
	height: 31px;
	line-height: 31px;
	padding-left: 36px;
}

.ke-dialog-footer {
	font: 14px/1 "sans serif",tahoma,verdana,helvetica;
	text-align: right;
	padding: 10px 0;
	border-top: 1px solid #ddd;
	background-color: #fff;
	width: 100%;
}
.ke-dialog-preview,
.ke-dialog-yes {
	margin: 5px;
}
.ke-dialog-no {
	margin: 5px 10px 5px 5px;
}
.ke-dialog-mask {
	background-color: #fff;
	opacity: 0.5;
}
.ke-button {
	box-sizing: border-box;
	padding: 0 15px;
	height: 30px;
	line-height: 30px;
	color: #333;
	font-size: 14px;
	text-decoration: none;
	border: 1px solid #ddd;
	background: #fff;
}
/* inputbox */
.ke-color {
	box-sizing: border-box;
	border: 1px solid #ddd;
	background-color: #ffffff;
	font-size: 14px;
	height: 30px;
	line-height: 30px;
	padding: 0 5px;
	overflow: hidden;
	cursor: pointer;
	display: block;
	vertical-align: middle;
}
.ke-upload-button {
	position: relative;
}
.ke-upload-area {
	display: inline-block;
	position: relative;
	max-width: 100%;
	vertical-align: middle;
	.ke-upload-file {
		font-size: 500px;
		overflow: hidden;
		position: absolute;
		top: 0;
		z-index: 1;
		width: 100%;
		height: 100%;
		left: 0;
		-webkit-appearance: none;
		opacity: 0;
		cursor: pointer;
	}
}
/* tabs */
.ke-tabs {
	font: 14px/1 "sans serif",tahoma,verdana,helvetica;
	border-bottom: 1px solid #ddd;
	padding-left: 10px;
}
.ke-tabs-ul {
	list-style-image: none;
	list-style-position: outside;
	list-style-type: none;
	margin: 0;
	padding: 0;
}
.ke-tabs-li {
	position: relative;
	border: 1px solid #ddd;
	background-color: #f8f8f8;
	margin: 0 5px -1px 0;
	padding: 3px 20px;
	float: left;
	line-height: 25px;
	text-align: center;
	color: #555555;
	cursor: pointer;
}
.ke-tabs-li-selected {
	background-color: #fff;
	border-bottom: 1px solid #fff;
	color: #000;
	cursor: default;
}
.ke-tabs-li-on {
	background-color: #fff;
	color: #000;
}
/* progressbar */
.ke-progressbar {
	position: relative;
	margin: 0;
	padding: 0;
}
.ke-progressbar-bar {
	border: 1px solid #6fa5db;
	width: 80px;
	height: 5px;
	margin: 10px 10px 0 10px;
	padding: 0;
}
.ke-progressbar-bar-inner {
	width: 0;
	height: 5px;
	background-color: #6fa5db;
	overflow: hidden;
	margin: 0;
	padding: 0;
}
.ke-progressbar-percent {
	position: absolute;
	top: 0;
	left: 40%;
	display: none;
}
/* plupload */
.ke-plupload-top {
	position: relative;
	padding: 10px;
  font-size: 14px;
  line-height: 30px;
}
.ke-plupload-desc {
	padding: 0 10px;
}
.ke-plupload-body {
	overflow: scroll;
	background-color: #ffffff;
	border: none;
	border-top: 1px solid #ddd;
	width: auto;
	height: 370px;
	padding: 5px;
    font-size: 12px;
	.ke-item {
		width: 95px;
		margin: 5px;
	}
	.ke-photo {
		position: relative;
		border: 1px solid #dddddd;
		background-color: #ffffff;
		padding: 5px;
	}
	.ke-delete {
		display: block;
		background: url(default.png) no-repeat scroll 0px -688px;
		width: 16px;
		height: 16px;
		position: absolute;
		right: 0;
		top: 0;
		cursor: pointer;
	}
	.ke-status {
		position: absolute;
		left: 0;
		bottom: 5px;
		width: 100px;
		height: 17px;
	}
	.ke-message {
		width: 100px;
		text-align: center;
		overflow: hidden;
		height: 17px;
	}
	.ke-error {
		color: red;
	}
	.ke-name {
		width: 100px;
		text-align: center;
		overflow: hidden;
		height: 16px;
	}
	.ke-on {
		border: 1px solid #5690d2;
		background-color: #e9eff6;
	}
}
/* emoticons */
.ke-plugin-emoticons {
	position: relative;
	.ke-preview {
		position: absolute;
		text-align: center;
		margin: 2px;
		padding: 10px;
		top: 0;
		border: 1px solid #a0a0a0;
		background-color: #ffffff;
		display: none;
	}
	.ke-preview-img {
		border: 0;
		margin: 0;
		padding: 0;
	}
	.ke-table {
		border: 0;
		margin: 0;
		padding: 0;
		border-collapse: separate;
	}
	.ke-cell {
		margin: 0;
		padding: 1px;
		border: 1px solid #f8f8f8;
		cursor: pointer;
	}
	.ke-on {
		border: 1px solid #5690d2;
		background-color: #e9eff6;
	}
	.ke-img {
		display: block;
		background-repeat: no-repeat;
		overflow: hidden;
		margin: 2px;
		width: 24px;
		height: 24px;
		margin: 0;
		padding: 0;
		border: 0;
	}
	.ke-page {
		text-align: right;
		margin: 5px;
		padding: 0;
		border: 0;
		font: 14px/1 "sans serif",tahoma,verdana,helvetica;
		color: #333;
		text-decoration: none;
	}
}
.ke-plugin-plainpaste-textarea,
.ke-plugin-wordpaste-iframe {
	display: block;
	width: 408px;
	height: 260px;
	font-family: "sans serif",tahoma,verdana,helvetica;
	font-size: 14px;
	border-color: #848484 #e0e0e0 #e0e0e0 #848484;
	border-style: solid;
	border-width: 1px;
}
/* filemanager */
.ke-plugin-filemanager-header {
	width: 100%;
	margin-bottom: 10px;
	.ke-left {
		float: left;
	}
	.ke-right {
		float: right;
	}
}
.ke-plugin-filemanager-body {
	overflow: scroll;
	background-color: #ffffff;
	border-color: #eee;
	border-style: solid;
	border-width: 1px;
	width: auto;
	height: 370px;
	padding: 5px;
	font-size: 12px;
	.ke-item {
		width: 95px;
		margin: 5px;
	}
	.ke-photo {
		border: 1px solid #dddddd;
		background-color: #ffffff;
		padding: 5px;
	}
	.ke-name {
		width: 100px;
		text-align: center;
		overflow: hidden;
		height: 16px;
	}
	.ke-on {
		border: 1px solid #5690d2;
		background-color: #e9eff6;
	}
	.ke-table {
		width: 95%;
		border: 0;
		margin: 0;
		padding: 0;
		border-collapse: separate;
		.ke-cell {
			margin: 0;
			padding: 0;
			border: 0;
		}
		.ke-name {
			width: 55%;
			text-align: left;
		}
		.ke-size {
			width: 15%;
			text-align: left;
		}
		.ke-datetime {
			width: 30%;
			text-align: center;
		}
	}
}
